A communication system typically has a transmitter and a receiver for communications therebetween. Because the transmitted signal may be distorted by environmental interferences, the receiver usually includes a data recovery circuit for recovering the data correctly. FIG. 1 shows a conventional data recovery circuit 100, which comprises a flip-flop 102 to sample the received data DIN. When the transmitter sends out the data DIN, a clock CLK is synchronously generated for the receiver, such that the data recovery circuit 100 can correctly recover the transmitted data DIN with the clock CLK. FIG. 2 shows one unit interval (UI) of the data DIN, and the arrow 104 indicates the rising edge of the clock CLK. The unit interval is also named bit time, and is the reciprocal of the data rate. As the data rate in an input/output (IO) bus increases, the UI will decrease. The receiver has a timing margin, and the timing margin will reduce as the data rate increases in the IO bus. The greater the timing margin is, the higher the stability of the communications between the transmitter and the receiver is. Ideally, as shown in FIG. 2, the available timing margin is equal to one UI.
However, the edge of the input data DIN may occur jittering during transmission due to unstable or undesirable transmission environment, and it also may occur skewing between the input data DIN and the clock CLK because the transmission delay time of the input data DIN is different from that of the clock CLK. FIG. 3 shows a condition that the edge of the input data DIN occurs jittering, FIG. 4 shows a condition that the clock CLK leads the input data DIN, in which the arrow 104 skews forward for a skew time Tskew, and FIG. 5 shows a condition that the input data DIN leads the clock CLK, in which the arrow 104 skews backward for a skew time Tskew. FIG. 6 shows an eye diagram, which is the superimposition of the waveforms of FIGS. 4 and 5. If the jittering factor is considered, as shown in FIG. 3, the receiver will have the timing marginTm=UI−TJ,  [Eq-1]where TJ is the jitter range. If the skewing factor is also taken into consideration, as shown in FIG. 6, after the interference of jittering and skewing is deducted, the timing margin becomesTm=UI−TJ−2Tskew.  [Eq-2]As discussed above, when the data rate increases, the UI will reduce, thereby decreasing the timing margin Tm. An insufficient timing margin will bring unreliable communications between the transmitter and the receiver. For instance, when the data rate is 250 Mbits/s, the UI will be 4 ns. Assuming that TJ=1 ns and Tskew=1 ns, the timing margin Tm will be 1 ns according to the equation Eq-2. That is, when the data rate is 250 Mbits/s, the receiver can tolerate such jittering and skewing. However, when the data rate increases to 400 Mbits/s, the UI will reduce to 2.5 ns. According to the equation Eq-2, the timing margin Tm becomes −0.5 ns, which indicates that the receiver can't tolerate such jittering and skewing.
Conventionally, oversampling is introduced into communication systems to reduce the influence of the jittering and skewing. For details of oversampling process, readers are referred to U.S. Pat. Application Publication Nos. 2004/0005021, 2004/0022196 and 2004/0042577. However, conventional oversampling methods require very complex circuits, and higher cost accordingly.
Therefore, it is desired a low-cost oversampling data recovery circuit.